package cn.com.seeederland.gkrpc.transport;

import cn.com.seederland.gkrpc.Peer;

/**
 * @ClassName TransportServer
 * @Author SighFate
 * @Date 2020/10/06 22:32
 * @Version 1.0
 * @Description 客户端通讯步骤如下所示：<br/>
 *              <ul>
 *                  <li>1、启动，监听</li>
 *                  <li>2、接受请求，并响应数据</li>
 *                  <li>3、关闭连接</li>
 *              </ul>
 */
public interface TransportServer {

    /**
     * 初始化服务端监听
     * @param port 需要监听的端口
     * @param requestHandler 处理请求的Handler
     */
    void init(int port, RequestHandler requestHandler);

    /**
     * 启动
     */
    void start();

    /**
     * 关闭
     */
    void close();
}
